package com.framework.bdf4j.sysadm.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.framework.bdf4j.sysadm.entity.SysDept;
import com.framework.bdf4j.sysadm.vo.Ztree;

/**
 * <p>
 * 部门管理 服务类
 * </p>
 *
 */
public interface SysDeptService extends IService<SysDept> {

    /**
     * 查询部门树菜单
     *
     * @return 树
     */
    List<Ztree> selectTree();

    /**
     * 添加信息部门
     *
     * @param sysDept
     * @return
     */
    Boolean saveDept(SysDept sysDept);

    /**
     * 删除部门
     *
     * @param id
     *            部门 ID
     * @return 成功、失败
     */
    Boolean removeDeptById(Integer id);

    /**
     * 更新部门
     *
     * @param sysDept
     *            部门信息
     * @return 成功、失败
     */
    Boolean updateDeptById(SysDept sysDept);

    /**
     * 带数据权限的部门查询
     *
     * @param sysDept
     *            部门信息
     * @return 部门信息
     */
    List<SysDept> listDept(SysDept sysDept);

    /**
     * 带数据权限的部门查询
     *
     * @param sysDept
     *            部门信息
     * @return 部门信息
     */
    IPage<SysDept> listDeptPage(Page page,SysDept sysDept);
}
